class Exam < ActiveRecord::Base
  has_many :exam_questions, :dependent => :destroy, :order=>'seq'
  has_many :exam_results
  has_many :pre_requisites

  has_attached_file :excel
  belongs_to :course
  validates_attachment_presence :excel, :message=>"กรุณาแนบแฟ้มคำถามในรูปแบบเอ็กเซ็ล"
  validates_attachment_size :excel, :less_than => 2.megabytes, :message=>"แฟ้มคำถามมีขนาดไม่เกิน ๒ เม็กกะไบท์"
  validates_attachment_content_type :excel, :content_type => ['application/vnd.ms-excel'], 
    :message=>"รูปแบบแฟ้มคำถามไม่ถูกต้อง กรุณาตรวจสอบแฟ้มคำถามให้อยู่ในรูปแบบของไฟล์เอ็กเซ็ล ๒๐๐๓"

  def passed?(score)
    score >= self.score_c
  end
  def qualified?(user)
    requires= self.pre_requisites.map {|p| p.require_id}
    user.exam_results.each do |r|
      requires.delete r.exam_id if passed?(r.percent)
    end
    requires.empty?
  end

end
